package recursion;

import java.util.Arrays;
import java.util.Scanner;

/*

科学家在热带森林中发现了一种特殊的昆虫，这种昆虫的繁殖能力很强。
每对成虫过x个月产y对卵，每对卵要过两个月长成成虫。
假设每个成虫不死，第一个月只有一对成虫，且卵长成成虫后的第一个月不产卵(过X个月产卵)，
问过Z个月以后，共有成虫多少对？0 <= x <= 20, 1 <= y <= 20, x <= z <= 50。
输入
x,y,z的数值。
输出
过Z个月以后，共有成虫对数。
样例输入
1 2 8
样例输出
37


第n个月的成虫对数 = 第n-1个月的成虫对数 + 第n-1个月一个月大的卵对数
第n-1个月1个月大的卵 = 在第n-2个月过了x个月的成虫对数*y
                = 第n-2-x个月的成虫对数*y
所以：第n个月的成虫对数 = 第n-1个月的成虫对数 + 第n-2-x个月的成虫对数*y


 */

public class InsectsPropagation2 {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int x = scan.nextInt();
        int y = scan.nextInt();
        int z = scan.nextInt();
        int[] dp = new int[z+3];
        for (int i = 0; i < z-x-2; i++) {
            dp[i] = 1;
        }
        for (int i = z-x-2; i <= z+2; i++) {
            dp[i] = dp[i-1] + dp[i-2-x] * y;
        }
        System.out.println(Arrays.toString(dp));
    }

}
